package com.dudu.service;

import java.util.List;
import java.util.Map;

import com.dudu.bean.IfControlBean;
import com.dudu.bean.IfControlCheckConclusionPushBean;
import com.dudu.bean.IfControlRuleBean;

import net.sf.json.JSONObject;

/**
 * 信控服务层接口定义
 * @author zx
 *
 */
public interface IInfoControl {
	 
	 /**
	  * 信控控制启动方法
	  * @param ifBean
	  * @param parameterMap
	  */
	 void infoControl(IfControlBean ifBean, Map<String, String> parameterMap);
	 
	 /**
	  * 信控上行短信反馈
	  * @param ifBean
	  */
	 void infoControlSMSFeedback(IfControlBean ifBean);
	 
	 /**
	  * 审核时间超时后结束信控流程
	  * @param ifBean
	  */
	 boolean finishInfoControlOverTime(IfControlBean ifBean);
	 
	 /**
	  * 查询信控规则
	  * @param pageSql
	  * @return
	  */
	 List<JSONObject> queryAllInfoControlRules(String pageSql);
	 
	 /**
	  * 查询信控规则数量
	  * @return
	  */
	 int queryALLIfControlRulesCount();
	 
	 /**
	  * 通过id查询信控监控数据
	  * @return
	  */
	 IfControlBean queryIfControlById(int id);
	 
	 /**
	  * 创建新的信控规则
	  * @param ruleBean
	  * @return
	  */
	 int createIfControlRule(IfControlRuleBean ruleBean);
	 
	 /**
	  * 查询信控核查号码
	  * @return
	  */
	 String queryCheckers();
	 
	 /**
	  * 更新信控规则内容
	  * @param ruleBean
	  * @return
	  */
	 int updateIfControlRule(IfControlRuleBean ruleBean);
	 
	 /**
	  * 启用或停用信控规则
	  * @param ruleBean
	  * @return
	  */
	 int updateIfControlRuleStatus(IfControlRuleBean ruleBean);
	 
	 /**
	  * 添加信控审核结果推送记录
	  * @param bean
	  * @return
	  */
	 int addIfControlCheckConclusionPushInfo(IfControlCheckConclusionPushBean bean);
	 
	 /**
	  * 查询信控核查结论推送url
	  * @param appKey
	  * @param custAccount
	  * @return
	  */
	 String queryIfControlPushURL(String appKey,String custAccount);

}
